#!/bin/sh
#
# Copyright (c) 2003, 2004, 2005, 2006 Israfil Consulting Services Corporation
# Copyright (c) 2003, 2004, 2005, 2006 Christian Edward Gruber
# All Rights Reserved
# 
# This software is licensed under a Berkeley Standard Distribution license
# equivalent (BSD license) as defined below:
# 
# Redistribution and use in source and binary forms, with or without 
# modification, are permitted provided that the following conditions are met:
# 
# 1. Redistributions of source code must retain the above copyright notice, this 
#    list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright notice, 
#    this list of conditions and the following disclaimer in the documentation 
#    and/or other materials provided with the distribution.
# 3. Neither the name of Israfil Consulting Services nor the names of its contributors 
#    may be used to endorse or promote products derived from this software without 
#    specific prior written permission.
# 
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
# IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 
# OF SUCH DAMAGE.
#
# $Id$
#

command=`basename $0`
cmd_dir=`dirname $0`

#set -x

function usage () {
	
	echo "usage: ${command} [--test]-u <repo_url> -b <bea_home> [-p <poms_folder>]                                     "
	echo "Options:  -u --url      <repo_url>     the url to the deployment repository                                  "
	echo "          -b --bea-home <bea_home>     the BEA_HOME folder                                                   "
		echo "          -p --poms    <pomsfolder>  a folder with poms, structured \${groupId}/\${artifactId}/\${version} "
	echo "          --test                       run the app without invoking maven, for testing                       "

}

function validate () {
	valid="true"
	echo ""
	if [ "${bea_home}" = "" ]; then
		echo "${command} requires that a bea home folder be given" ; valid="false"
	elif [ ! -d "${bea_home}" ]; then
		echo "BEA home folder ${bea_home} is not a valid directory." ; valid="false"
	fi
	if [ "${repository_url}" = "" ]; then
		echo "${command} requires a repository URL" ; valid="false"
	fi
	if [ "${poms_dir}" != "" -a ! -d ${poms_dir} ]; then
		echo "${poms_dir} is not a valid directory" ; valid="false"
	fi
	if [ "${valid}" = "false" ]; then
		echo "" ; usage ; exit 1
	fi
}

# loop through possible commands.
until [ "${done}" = "true" ]; do
	
	if [ "${1}" = "-b" -o "${1}" = "--bea-home" ]; then
		shift
		bea_home="${1}"
		shift
	elif [ "${1}" = "-u" -o "${1}" = "--url" ]; then
		shift
		repository_url="${1}"
		shift
	elif [ "${1}" = "--test" ]; then
		shift
		test="true"
	else
		# assume we're into files now.
		done="true"
	fi

done


validate

echo "Installing BEA weblogic portal 9.2 folders from ${bea_home} to ${repository_url}"
echo ""

function invoke () {
	group_id=$1
	shift
	if [ "${test}" = "true" ]; then do_test="--test" ; fi
	${cmd_dir}/mvn-deploy-files -u ${repository_url} -g ${group_id} -v 9.2 ${do_test} $@
}

# The big one.
cd ${bea_home}/weblogic92/server/lib && invoke com.bea.weblogic.server weblogic.jar

# The workshop stuff - important for ant support.
cd ${bea_home}/weblogic92/workshop/lib && invoke com.bea.weblogic.workshop *.jar

# Critical beehive/netui stuff
cd ${bea_home}/weblogic92/beehive/weblogic-beehive/lib/netui && invoke com.bea.weblogic.beehive.netui *.jar
cd ${bea_home}/weblogic92/beehive/weblogic-beehive/lib/controls && invoke com.bea.weblogic.beehive.controls *.jar

# The portal platform 
cd ${bea_home}/weblogic92/platform/lib/wlp && invoke com.bea.weblogic.portal.core *.jar
cd ${bea_home}/weblogic92/platform/lib/p13n && invoke com.bea.weblogic.portal.p13n *.jar
